package com.cicc.springboot.utile;

import java.util.Arrays;
import java.util.List;

/**
 * @ClassName FileValidationUtil
 * @Description TODO
 * @Author 转轮王
 * @Date 2024/10/11 15:37
 * @Version 1.0
 */

public class FileValidationUtil {
    // 允许的文件扩展名
    private static final List<String> ALLOWED_EXTENSIONS = Arrays.asList("xls", "xlsx", "pdf", "doc", "docx", "jpg", "jpeg", "png");

    /**
     * 校验文件扩展名是否合法
     *
     * @param originalFilename 文件名
     * @return 是否允许该文件格式
     */
    public static boolean isAllowedExtension(String originalFilename) {
        if (originalFilename == null) {
            return false;
        }
        // 获取文件扩展名并转换为小写
        String fileExtension = getFileExtension(originalFilename).toLowerCase();
        // 判断是否在允许的扩展名列表中
        return ALLOWED_EXTENSIONS.contains(fileExtension);
    }

    /**
     * 获取文件扩展名
     *
     * @param filename 文件名
     * @return 文件扩展名
     */
    public static String getFileExtension(String filename) {
        int dotIndex = filename.lastIndexOf(".");
        if (dotIndex > 0 && dotIndex < filename.length() - 1) {
            return filename.substring(dotIndex + 1);
        }
        return "";
    }
}
